fix vmce MCi_ADDR/MCi_MISC wrmsr bug
authorLiu, Jinsong <jinsong.liu@intel.com>
Tue, 8 May 2012 11:36:24 +0000 (13:36 +0200)
committerLiu, Jinsong <jinsong.liu@intel.com>
Tue, 8 May 2012 11:36:24 +0000 (13:36 +0200)
commit02ef90f91de5dedabb68246a27a35c8944f6ee8c
tree73cd4881474ccdec04fa5d9f6deff29bcc1dd213
parent0a9c6297b008408b01bce9fb8bd9703068f45c74
fix vmce MCi_ADDR/MCi_MISC wrmsr bug

This patch fixes a bug related to wrmsr vmce MCi_ADDR/MCi_MISC
registers, since they are not read-only.

Intel SDM recommanded os mce driver clear MCi_ADDR/MCi_MISC, so guest
MCE driver may clear MCi_ADDR/MCi_MISC registers. In such case, old
vmce wrmsr logic would generate a #GP fault in guest MCE context,
causing the guest to crash.

When wrmsr MCi_ADDR/MCi_MISC, writing all 1s will cause #GP.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/cpu/mcheck/vmce.c